Robot control method, computer-readable storage medium, and robot

ABSTRACT

A robot control method, a computer-readable storage medium, and a robot are provided. The method includes: obtaining first motion data, where the first motion data is human arm end motion data collected by a virtual reality device; obtaining second motion data by mapping the first motion data to a working space of an end of a robotic arm of the robot; obtaining a state of each joint of the robotic arm of the robot, and obtaining control data of the joint by performing a quadratic programming solving on the second motion data and the state of the joint; and controlling, by a motion controller of the robot, the robotic arm of the robot to move according to the obtained control data of each joint of the robot by transmitting the control data of the joint to the motion controller, so that the control method is relatively more natural, intuitive, and flexible.

CROSS REFERENCE TO RELATED APPLICATIONS

The present disclosure claims priority to Chinese Patent Application No.202210598024.6, filed May 30, 2022, which is hereby incorporated byreference herein as if set forth in its entirety.

BACKGROUND 1. Technical Field

The present disclosure relates to robot technology, and particularly toa robot control method, a computer-readable storage medium, and a robot.

2. Description of Related Art

With the development of robot technology, people's requirements forrobot technology are also constantly increasing. In order to make robotsto substitute humans to do more tasks so as to release artificial labor,the robots need to perform various complex motions through robotic arms.In the existing methods, the robotic arm of a robot is generallycontrolled through complicated programming techniques, where the controlmethod is not natural and intuitive enough, and has poor flexibility.

BRIEF DESCRIPTION OF THE DRAWINGS

To describe the technical schemes in the embodiments of the presentdisclosure or in the prior art more clearly, the following brieflyintroduces the drawings required for describing the embodiments or theprior art. It should be understood that, the drawings in the followingdescription merely show some embodiments. For those skilled in the art,other drawings can be obtained according to the drawings withoutcreative efforts.

FIG. 1 is a flow chart of a robot control method according to anembodiment of the present disclosure.

FIG. 2 is a flow chart of determining whether control data of each jointof the robotic arm meets a preset restriction condition in the robotcontrol method of FIG. 1 .

FIG. 3 is a schematic block diagram of a robot control apparatusaccording to an embodiment of the present disclosure.

FIG. 4 is a schematic block diagram of a robot according to anembodiment of the present disclosure.

DETAILED DESCRIPTION

In order to make the objects, features and advantages of the presentdisclosure more obvious and easy to understand, the technical solutionsin the embodiments of the present disclosure will be clearly andcompletely described below with reference to the drawings. Apparently,the described embodiments are part of the embodiments of the presentdisclosure, not all of the embodiments. All other embodiments obtainedby those skilled in the art based on the embodiments of the presentdisclosure without creative efforts are within the scope of the presentdisclosure.

It is to be understood that, when used in the description and theappended claims of the present disclosure, the terms “including” and“comprising” indicate the presence of stated features, integers, steps,operations, elements and/or components, but do not preclude the presenceor addition of one or a plurality of other features, integers, steps,operations, elements, components and/or combinations thereof.

It is also to be understood that, the terminology used in thedescription of the present disclosure is only for the purpose ofdescribing particular embodiments and is not intended to limit thepresent disclosure. As used in the description and the appended claimsof the present disclosure, the singular forms “a,” “an,” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise.

It is also to be further understood that the term “and/or” used in thedescription and the appended claims of the present disclosure refers toany combination of one or more of the associated listed items and allpossible combinations, and includes such combinations.

As used in the description and the appended claims, the term “if” may beinterpreted as “when” or “once” or “in response to determining” or “inresponse to detecting” according to the context. Similarly, the phrase“if determined” or “if [the described condition or event] is detected”may be interpreted as “once determining” or “in response to determining”or “on detection of [the described condition or event]” or “in responseto detecting [the described condition or event]”.

In addition, in the present disclosure, the terms “first”, “second”,“third”, and the like in the descriptions are only used fordistinguishing, and cannot be understood as indicating or implyingrelative importance.

In the embodiments of the present disclosure, a robot control method isprovided, which may be applied to a humanoid robot including two roboticarms with seven degrees of freedom, where each robotic arm has joint(s),so as to control the robotic arm of the robot to perform anthropomorphicmovements by following the movements of a human arm, thereby ensuringthe real-time, reliability and accuracy of the movement of the roboticarm.

FIG. 1 is a flow chart of a robot control method according to anembodiment of the present disclosure. In this embodiment, a controlmethod for the above-mentioned robot is provided. As shown FIG. 1 , themethod may include the following steps.

-   -   S101: obtaining first motion data.

In which, the first motion data may be motion data of an end of a humanarm (i.e., an arm of a human) that is collected by an electronic devicesuch as a virtual reality (VR) device.

In this embodiment, the VR device may include components such as a laserlocator and a control handle, and may include sensors such as ag-sensor, a gyroscope, a proximity sensor, and a gravity sensor. As anexample, the control handle may be fixed at the end of the human arm soas to capture, through the laser locator, the motion data of the end ofthe human arm in real time. The motion data of the end of the arm mayinclude three-dimensional position coordinates in a coordinate system ofthe VR device and posture data (i.e., a Euler angle).

In addition, the control handle may have button(s) for controlling therobot by, for example, switching control modes of the robot such assingle-arm mode and double-arm mode, changing controlled states of therobot such as position, posture and pose, and controlling the start/stopof programs of the robot.

-   -   S102: obtaining second motion data by mapping the first motion        data to a working space of an end of the robotic arm of the        robot.

In this embodiment, during an initialization process, the position ofthe control handle in the coordinate system of the VR device may beobtained to set as an origin of an object coordinate system. During thesubsequent movement of the human arm, the motion data of the end of thehuman arm in the object coordinate system, that is, the first motiondata may be obtained to map, in proportion, to the working space of theend of the robotic arm of the robot so as to obtain the motion data,that is, the second motion data of the end of the robotic arm in acoordinate system of the robot.

-   -   S103: obtaining a state of each of the joints of the robotic arm        of the robot, and obtaining control data of the joint by        performing a quadratic programming solving on the second motion        data and the state of the joint.

In which, the state of each of the joints of the robotic arm may be thereal-time position and speed information of the joint of the roboticarm. Quadratic programming (QR) is mainly a process of selecting theoptimal solution from multiple solutions while meeting the restrictionconditions of equality and inequality, which is a nonlinear programming.In this embodiment, any existing quadratic programming solving methodmay be selected according to the actual needs. For example, an operatorsplitting quadratic program (OSQP) solver based on alternating directionmethod of multipliers (ADMM) may be used to calculate the control dataof each of the joints of the robotic arm of the robot. The control dataof each of the joints of the robotic arm may be expected position andspeed information of the joint of the robotic arm.

-   -   S104: transmitting the control data of each of the joints of the        robotic arm to a motion controller of the robot.

The motion controller may control the robotic arm of the robot to moveaccording to the obtained control data of each of the joints of therobot. In this embodiment, the control cycle of the robot may be set inadvance. In each control cycle, the control method of FIG. 1 can beexecuted once. The value of the control period may be set according tothe hardware configuration of the robot and the complexity of thecontrol method, for example, set to 5 milliseconds or other values,which is not limited herein.

In this embodiment, in order to ensure the smooth and safe operation ofthe robotic arm, as an example, the control data of each of the jointsof the robotic arm that is obtained through step S103 may also belimited.

FIG. 2 is a flow chart of determining whether control data of each jointof the robotic arm meets a preset restriction condition in the robotcontrol method of FIG. 1 . As shown in FIG. 2 , for example, afterobtaining the control data of each of the joints through step S103, itmay determine whether the control data of each of the joints of therobotic arm meets the preset restriction condition according to thesteps shown in FIG. 2 :

-   -   S201: determining whether the quadratic programming solving is        overspeed based on the obtained control data of each of the        joints of the robotic arm.

For example, a Jacobian matrix corresponding to the control data of eachof the joints of the robotic arm may be calculated first, then acondition number may be calculated based on the Jacobian matrix, andthen whether the condition number is larger than a preset conditionnumber threshold may be determined. If the condition number is largerthan the condition number threshold, it is determined that the quadraticprogramming solving is overspeed; otherwise, if the condition number issmaller than or equal to the condition number threshold, it isdetermined that the quadratic programming solving is not overspeed. Inwhich, the value of the condition number threshold may be set accordingto actual needs, which is not limited herein.

If the quadratic programming solving is overspeed, step S204 will beexecuted; otherwise, step S202 will be executed.

-   -   S202: determining whether the obtained control data of the joint        of the robotic arm exceeds a preset joint limit.

In this embodiment, a position range, that is, a joint limitcorresponding to each of the joints of the robotic arm may be set inadvance. As long as the control data of any joint exceeds itscorresponding joint limit, it may be determined that the control data ofthe joint exceeds the joint limit.

If the control data of a joint of the robotic arm exceeds the jointlimit, step S204 will be executed; otherwise, step S203 will beexecuted.

-   -   S203: determining the obtained control data of the joint of the        robotic arm as meeting the restriction condition.

At this time, it will continue to execute step S104, that is, it willcontinue to transmit the control data of each of the joints to themotion controller of the robot in real-time, so that the motioncontroller of the robot controls the robotic arm of the robot to moveaccording to the obtained control data of the joint of the robot.

-   -   S204: determining the obtained control data of the joint of the        robotic arm as not meeting the restriction condition.

At this time, step S104 will not be executed anymore, that is, it willstop transmitting the control data of each of the joints of the roboticarm to the motion controller of the robot, and the motion controllerwill still control the robotic arm of the robot to move according to thelast control data of each of the joints of the robotic arm that isreceived in the previous control cycle of the robot.

In the subsequent control cycles, it will continue to obtain the controldata of each of the joints of the robotic arm of the robot through stepsS101-S103, and determine whether the control data of each of the jointsof the robotic arm meets the restriction condition. If yes, it continuesto determine whether the control data of each of the joints of therobotic arm meets a preset transition ending condition.

For example, the data error between the control data of each of thejoints of the robotic arm and the state of the joint may be calculated,and whether the data error is smaller than a preset error threshold maybe determined. If yes, it may be determined that the control data ofeach of the joints of the robotic arm meets the transition endingcondition; otherwise, it may be determined that the control data of eachof the joints of the robotic arm does not meet the transition endingcondition. In which, the value of the error threshold may be setaccording to the actual needs, which will not be limited herein.

If the transition ending condition is not met, the control data aftersmoothed of each of the joints of the robotic arm may be obtained bysmoothing the control data of the joint. In this embodiment, anyexisting smoothing method may be selected according to actual needs, forexample, it may smooth using a proportion differential (PD) controller.After obtaining the smoothed control data of each of the joints of therobot arm, the smoothed control data may be transmitted to the motioncontroller of the robot, so that the motion controller can control therobot arm to move according to the smoothed control data. In thismanner, the data jittering that occurs due to the sudden recovery of thetransmission of the real-time control data to the motion controller canbe avoided. In which, the change process is transitioned by softeningthe change process through PD control strategy, so that the change ofthe control data is smoother.

If the transition ending condition is met, it continues to execute stepS104, that is, it resumes to transmit the control data of each of thejoints to the motion controller of the robot in real-time, so that themotion controller of the robot controls the robotic arm of the robot tomove according to the obtained control data of the joint of the robot.

To sum up, in this embodiment, by obtaining first motion data, where thefirst motion data is human arm end motion data collected by a virtualreality device; obtaining second motion data by mapping the first motiondata to a working space of an end of a robotic arm of the robot;obtaining a state of each joint of the robotic arm of the robot, andobtaining control data of the joint by performing a quadraticprogramming solving on the second motion data and the state of thejoint; and controlling, by a motion controller of the robot, the roboticarm of the robot to move according to the obtained control data of eachjoint of the robot by transmitting the control data of the joint to themotion controller, the robotic arm of the robot can be controlled tomove along with the human arm, so that the control method is relativelymore natural, intuitive, and flexible.

It should be understood that, the sequence of the serial number of thesteps in the above-mentioned embodiments does not mean the executionorder while the execution order of each process should be determined byits function and internal logic, which should not be taken as anylimitation to the implementation process of the embodiments.

FIG. 3 is a schematic block diagram of a robot control apparatusaccording to an embodiment of the present disclosure. As shown in FIG. 3, a control apparatus for the above-mentioned robot that corresponds tothe robot control method described in the above-mentioned embodiment isprovided.

In this embodiment, a robot control apparatus may include:

-   -   a motion data obtaining module 301 configured to obtain first        motion data, where the first motion data is human arm end motion        data collected by a virtual reality device;    -   a motion data mapping module 302 configured to obtain second        motion data by mapping the first motion data to a working space        of an end of the robotic arm of the robot;    -   a control data solving module 303 configured to obtain a state        of each of the joints of the robotic arm of the robot, and        obtain control data of the joint by performing a quadratic        programming solving on the second motion data and the state of        the joint; and    -   a control data transmitting module 304 configured to control, by        a motion controller of the robot, the robotic arm of the robot        to move according to the obtained control data of each of the        joints of the robot by transmitting the control data of the        joint to the motion controller.

In one embodiment, the robot control apparatus may further include:

-   -   a restriction condition processing module configured to        determine whether the control data of each of the joints of the        robotic arm meets a preset restriction condition; stop        transmitting the control data of each of the joints of the        robotic arm to the motion controller of the robot, in response        to not meeting the restriction condition; and continue        transmitting the control data of each of the joints of the        robotic arm to the motion controller of the robot, in response        to meeting the restriction condition.

In one embodiment, the restriction condition processing module mayinclude:

-   -   a quadratic programming solving overspeed determining unit        configured to determine whether the quadratic programming        solving is overspeed based on the control data of each of the        joints of the robotic arm;    -   a first determination unit configured to determine the control        data of the joint of the robotic arm as not meeting the        restriction condition, in response to the quadratic programming        solving being overspeed;    -   a joint limit determining unit configured to determine whether        the control data of the joint of the robotic arm exceeds a        preset joint limit, in response to the quadratic programming        solving being not overspeed;    -   a second determination unit configured to determine the control        data of the joint of the robotic arm as not meeting the        restriction condition, in response to exceeding the joint limit;        and    -   a third determination unit configured to determine the control        data of the joint of the robotic arm as meeting the restriction        condition, in response to not exceeding the preset joint limit.

In one embodiment, the quadratic programming solving overspeeddetermining unit may be configured to calculate a Jacobian matrixcorresponding to the control data of each of the joints of the roboticarm; calculate a condition number based on the Jacobian matrix;determine the quadratic programming solving as being overspeed, inresponse to the condition number being larger than a preset conditionnumber threshold; and determine the quadratic programming solving asbeing not overspeed, in response to the condition number being smallerthan or equal to the condition number threshold.

In one embodiment, the robot control apparatus may further include:

-   -   a transition processing module configured to, in a subsequent        control cycle of the robot, continue to obtain the control data        of each of the joints of the robotic arm of the robot by        performing the quadratic programming solving on the second        motion data and the state of the joint; determine whether the        control data of each of the joints of the robotic arm meets the        restriction condition; determine whether the control data of        each of the joints of the robotic arm meets a preset transition        ending condition, in response to meeting the restriction        condition; obtain smoothed control data of each of the joints of        the robotic arm by smoothing the control data of the joint, in        response to not meeting the transition ending condition;        transmit the smoothed control data of each of the joints of the        robotic arm to the motion controller of the robot; and continue        to transmit the control data of each of the joints of the        robotic arm to the motion controller of the robot, in response        to meeting the transition ending condition.

In one embodiment, the restriction condition processing module mayinclude:

-   -   a transition ending condition determining unit configured to        calculate a data error between the control data of each of the        joints of the robotic arm and the state of the joint; determine        whether the data error is smaller than a preset error threshold;        determine the control data of each of the joints of the robotic        arm as meeting the transition ending condition, in response to        being smaller than the error threshold; and determine the        control data of each of the joints of the robotic arm as not        meeting the transition ending condition, in response to being        larger than or equal to the error threshold.

In one embodiment, the restriction condition processing module mayinclude:

-   -   a balance processing unit configured to obtain the smoothed        control data of each of the joints of the robotic arm by        smoothing the control data of the join using a        proportional-derivative controller.

Those skilled in the art may clearly understand that, for theconvenience and simplicity of description, for the specific operationprocess of the above-mentioned apparatus, modules and units, referencemay be made to the corresponding processes in the above-mentioned methodembodiments, and are not described herein.

In the above-mentioned embodiments, the description of each embodimenthas its focuses, and the parts which are not described or mentioned inone embodiment may refer to the related descriptions in otherembodiments.

FIG. 4 is a schematic block diagram of a robot according to anembodiment of the present disclosure. For convenience of description,only parts related to this embodiment are shown.

As shown in FIG. 4 , in this embodiment, the robot 4 includes aprocessor 40, a storage 41, and a computer program 42 stored in thestorage 41 and executable on the processor 40. When executing(instructions in) the computer program 42, the processor 40 implementsthe steps in the above-mentioned embodiments of the robot controlmethod, for example, steps S101-S104 shown in FIG. 1 . Alternatively,when the processor 40 executes the (instructions in) computer program42, the functions of each module/unit in the above-mentioned deviceembodiments, for example, the functions of the modules 301-304 shown inFIG. 3 are implemented.

Exemplarily, the computer program 42 may be divided into one or moremodules/units, and the one or more modules/units are stored in thestorage 41 and executed by the processor 40 to realize the presentdisclosure. The one or more modules/units may be a series of computerprogram instruction sections capable of performing a specific function,and the instruction sections are for describing the execution process ofthe computer program 42 in the robot 4.

The robot 4 may include, but is not limited to, the processor 40 and thestorage 41. It can be understood by those skilled in the art that FIG. 4is merely an example of the robot 4 and does not constitute a limitationon the robot 4, and may include more or fewer components than thoseshown in the figure, or a combination of some components or differentcomponents. For example, the robot 4 may further include an input/outputdevice, a network access device, a bus, and the like.

The processor 40 may be a central processing unit (CPU), or be othergeneral purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field-programmablegate array (FPGA), or be other programmable logic device, a discretegate, a transistor logic device, and a discrete hardware component. Thegeneral purpose processor may be a microprocessor, or the processor mayalso be any conventional processor.

The storage 41 may be an internal storage unit of the robot 4, forexample, a hard disk or a memory of the robot 4. The storage 41 may alsobe an external storage device of the robot 4, for example, a plug-inhard disk, a smart media card (SMC), a secure digital (SD) card, flashcard, and the like, which is equipped on the robot 4. Furthermore, thestorage 41 may further include both an internal storage unit and anexternal storage device, of the robot 4. The storage 41 is configured tostore the computer program 42 and other programs and data required bythe robot 4. The storage 41 may also be used to temporarily store datathat has been or will be output.

Those skilled in the art may clearly understand that, for theconvenience and simplicity of description, the division of theabove-mentioned functional units and modules is merely an example forillustration. In actual applications, the above-mentioned functions maybe allocated to be performed by different functional units according torequirements, that is, the internal structure of the device may bedivided into different functional units or modules to complete all orpart of the above-mentioned functions. The functional units and modulesin the embodiments may be integrated in one processing unit, or eachunit may exist alone physically, or two or more units may be integratedin one unit. The above-mentioned integrated unit may be implemented inthe form of hardware or in the form of software functional unit. Inaddition, the specific name of each functional unit and module is merelyfor the convenience of distinguishing each other and are not intended tolimit the scope of protection of the present disclosure. For thespecific operation process of the units and modules in theabove-mentioned system, reference may be made to the correspondingprocesses in the above-mentioned method embodiments, and are notdescribed herein.

In the above-mentioned embodiments, the description of each embodimenthas its focuses, and the parts which are not described or mentioned inone embodiment may refer to the related descriptions in otherembodiments.

Those ordinary skilled in the art may clearly understand that, theexemplificative units and steps described in the embodiments disclosedherein may be implemented through electronic hardware or a combinationof computer software and electronic hardware. Whether these functionsare implemented through hardware or software depends on the specificapplication and design constraints of the technical schemes. Thoseordinary skilled in the art may implement the described functions indifferent manners for each particular application, while suchimplementation should not be considered as beyond the scope of thepresent disclosure.

In the embodiments provided by the present disclosure, it should beunderstood that the disclosed apparatus (device)/robot and method may beimplemented in other manners. For example, the above-mentionedapparatus/robot embodiment is merely exemplary. For example, thedivision of modules or units is merely a logical functional division,and other division manner may be used in actual implementations, thatis, multiple units or components may be combined or be integrated intoanother system, or some of the features may be ignored or not performed.In addition, the shown or discussed mutual coupling may be directcoupling or communication connection, and may also be indirect couplingor communication connection through some interfaces, devices or units,and may also be electrical, mechanical or other forms.

The units described as separate components may or may not be physicallyseparated. The components represented as units may or may not bephysical units, that is, may be located in one place or be distributedto multiple network units. Some or all of the units may be selectedaccording to actual needs to achieve the objectives of this embodiment.

In addition, each functional unit in each of the embodiments of thepresent disclosure may be integrated into one processing unit, or eachunit may exist alone physically, or two or more units may be integratedin one unit. The above-mentioned integrated unit may be implemented inthe form of hardware or in the form of software functional unit.

When the integrated module/unit is implemented in the form of a softwarefunctional unit and is sold or used as an independent product, theintegrated module/unit may be stored in a non-transitory computerreadable storage medium. Based on this understanding, all or part of theprocesses in the method for implementing the above-mentioned embodimentsof the present disclosure are implemented, and may also be implementedby instructing relevant hardware through a computer program. Thecomputer program may be stored in a non-transitory computer readablestorage medium, which may implement the steps of each of theabove-mentioned method embodiments when executed by a processor. Inwhich, the computer program includes computer program codes which may bethe form of source codes, object codes, executable files, certainintermediate, and the like. The computer readable medium may include anyentity or device capable of carrying the computer program codes, arecording medium, a USB flash drive, a portable hard disk, a magneticdisk, an optical disk, a computer memory, a read-only memory (ROM), arandom access memory (RAM), electric carrier signals, telecommunicationsignals and software distribution media. It should be noted that thecontent contained in the computer readable medium may be appropriatelyincreased or decreased according to the requirements of legislation andpatent practice in the jurisdiction. For example, in some jurisdictions,according to the legislation and patent practice, a computer readablemedium does not include electric carrier signals and telecommunicationsignals.

The above-mentioned embodiments are merely intended for describing butnot for limiting the technical schemes of the present disclosure.Although the present disclosure is described in detail with reference tothe above-mentioned embodiments, it should be understood by thoseskilled in the an that, the technical schemes in each of theabove-mentioned embodiments may still be modified, or some of thetechnical features may be equivalently replaced, while thesemodifications or replacements do not make the essence of thecorresponding technical schemes depart from the spirit and scope of thetechnical schemes of each of the embodiments of the present disclosure,and should be included within the scope of the present disclosure.

What is claimed is:
 1. A computer-implemented control method for a robotwith a robotic arm having one or more joints, comprising: obtainingfirst motion data, wherein the first motion data is human arm end motiondata collected by a virtual reality device; obtaining second motion databy mapping the first motion data to a working space of an end of therobotic arm of the robot; obtaining a state of each of the joints of therobotic arm of the robot, and obtaining control data of the joint byperforming a quadratic programming solving on the second motion data andthe state of the joint; determining whether the quadratic programmingsolving is overspeed based on the obtained control data of each of thejoints of the robotic arm; determining the obtained control data of thejoint of the robotic arm as not meeting the restriction condition, inresponse to the quadratic programming solving being overspeed;determining whether the obtained control data of the joint of therobotic arm exceeds a preset joint limit, in response to the quadraticprogramming solving being not overspeed; determining the obtainedcontrol data of the joint of the robotic arm as not meeting therestriction condition, in response to exceeding the joint limit;determining the obtained control data of the joint of the robotic arm asmeeting the restriction condition, in response to not exceeding thepreset joint limit; stopping transmitting the obtained control data ofthe joint of the robotic arm to the motion controller of the robot, inresponse to not meeting the restriction condition; continuingtransmitting the obtained control data of the joint of the robotic armto the motion controller of the robot, in response to meeting therestriction condition; and controlling, by a motion controller of therobot, the robotic arm of the robot to move according to the obtainedcontrol data of each of the joints of the robot by transmitting theobtained control data of the joint to the motion controller.
 2. Themethod of claim 1, determining whether the quadratic programming solvingis overspeed based on the control data of each of the joints of therobotic arm comprises: calculating a Jacobian matrix corresponding tothe control data of each of the joints of the robotic arm; calculating acondition number based on the Jacobian matrix; determining the quadraticprogramming solving as being overspeed, in response to the conditionnumber being larger than a preset condition number threshold; anddetermining the quadratic programming solving as being not overspeed, inresponse to the condition number being smaller than or equal to thecondition number threshold.
 3. The method of claim 1, wherein afterstopping transmitting the control data of each of the joints of therobotic arm to the motion controller of the robot, the method furthercomprises: in a subsequent control cycle of the robot, continuing toobtain the control data of each of the joints of the robotic arm of therobot by performing the quadratic programming solving on the secondmotion data and the state of the joint; determining whether the controldata of each of the joints of the robotic arm meets the restrictioncondition; determining whether the control data of each of the joints ofthe robotic arm meets a preset transition ending condition, in responseto meeting the restriction condition; obtaining smoothed control data ofeach of the joints of the robotic arm by smoothing the control data ofthe joint to transmit to the motion controller of the robot, in responseto not meeting the transition ending condition; and continuing totransmit the control data of each of the joints of the robotic arm tothe motion controller of the robot, in response to meeting thetransition ending condition.
 4. The method of claim 3, whereindetermining whether the control data of each of the joints of therobotic arm meets the preset transition ending condition comprises:calculating a data error between the control data of each of the jointsof the robotic arm and the state of the joint; determining whether thedata error is smaller than a preset error threshold; determining thecontrol data of each of the joints of the robotic arm as meeting thetransition ending condition, in response to being smaller than the errorthreshold; and determining the control data of each of the joints of therobotic arm as not meeting the transition ending condition, in responseto being larger than or equal to the error threshold.
 5. The method ofclaim 3, wherein obtaining the smoothed control data of each of thejoints of the robotic arm by smoothing the control data of the jointcomprises: obtaining the smoothed control data of each of the joints ofthe robotic arm by smoothing the control data of the join using aproportional-derivative controller.
 6. A non-transitorycomputer-readable storage medium for storing one or more computerprograms, wherein the one or more computer programs comprise:instructions for obtaining first motion data, wherein the first motiondata is human arm end motion data collected by a virtual reality device;instructions for obtaining second motion data by mapping the firstmotion data to a working space of an end of a robotic arm of a robot;instructions for obtaining a state of each of one or more joints of therobotic arm of the robot, and obtaining control data of the joint byperforming a quadratic programming solving on the second motion data andthe state of the joint; instructions for determining whether thequadratic programming solving is overspeed based on the obtained controldata of each of the joints of the robotic arm; instructions fordetermining the obtained control data the joint of the robotic arm asnot meeting the restriction condition, in response to the quadraticprogramming solving being overspeed; instructions for determiningwhether the obtained control data of the joint of the robotic armexceeds a preset joint limit, in response to the quadratic programmingsolving being not overspeed; instructions for determining the obtainedcontrol data of the joint of the robotic arm as not meeting therestriction condition, in response to exceeding the joint limit;instructions for determining the obtained control data of the joint ofthe robotic arm as meeting the restriction condition, in response to notexceeding the preset joint limit; instructions for stopping transmittingthe obtained control data of the joint of the robotic arm to the motioncontroller of the robot, in response to not meeting the restrictioncondition; instructions for continuing transmitting the obtained controldata of the joint of the robotic arm to the motion controller of therobot, in response to meeting the restriction condition; andinstructions for controlling, by a motion controller of the robot, therobotic arm of the robot to move according to the obtained control dataof each of the joints of the robot by transmitting the obtained controldata of the joint to the motion controller.
 7. The storage medium ofclaim 6, determining whether the quadratic programming solving isoverspeed based on the control data of each of the joints of the roboticarm comprises: calculating a Jacobian matrix corresponding to thecontrol data of each of the joints of the robotic arm; calculating acondition number based on the Jacobian matrix; determining the quadraticprogramming solving as being overspeed, in response to the conditionnumber being larger than a preset condition number threshold; anddetermining the quadratic programming solving as being not overspeed, inresponse to the condition number being smaller than or equal to thecondition number threshold.
 8. The storage medium of claim 6, whereinafter stopping transmitting the control data of each of the joints ofthe robotic arm to the motion controller of the robot, the methodfurther comprises: in a subsequent control cycle of the robot,continuing to obtain the control data of each of the joints of therobotic arm of the robot by performing the quadratic programming solvingon the second motion data and the state of the joint; determiningwhether the control data of each of the joints of the robotic arm meetsthe restriction condition; determining whether the control data of eachof the joints of the robotic arm meets a preset transition endingcondition, in response to meeting the restriction condition; obtainingsmoothed control data of each of the joints of the robotic arm bysmoothing the control data of the joint to transmit to the motioncontroller of the robot, in response to not meeting the transitionending condition; and continuing to transmit the control data of each ofthe joints of the robotic arm to the motion controller of the robot, inresponse to meeting the transition ending condition.
 9. The storagemedium of claim 8, wherein determining whether the control data of eachof the joints of the robotic arm meets the preset transition endingcondition comprises: calculating a data error between the control dataof each of the joints of the robotic arm and the state of the joint;determining whether the data error is smaller than a preset errorthreshold; determining the control data of each of the joints of therobotic arm as meeting the transition ending condition, in response tobeing smaller than the error threshold; and determining the control dataof each of the joints of the robotic arm as not meeting the transitionending condition, in response to being larger than or equal to the errorthreshold.
 10. The storage medium of claim 8, wherein obtaining thesmoothed control data of each of the joints of the robotic arm bysmoothing the control data of the joint comprises: obtaining thesmoothed control data of each of the joints of the robotic arm bysmoothing the control data of the join using a proportional-derivativecontroller.
 11. A robot, comprising: a robotic arm having one or morejoints; a processor; a memory coupled to the processor; and one or morecomputer programs stored in the memory and executable on the processor;wherein, the one or more computer programs comprise: instructions forobtaining first motion data, wherein the first motion data is human armend motion data collected by a virtual reality device; instructions forobtaining second motion data by mapping the first motion data to aworking space of an end of the robotic arm of the robot; instructionsfor obtaining a state of each of the joints of the robotic arm of therobot, and obtaining control data of the joint by performing a quadraticprogramming solving on the second motion data and the state of thejoint; instructions for determining whether the quadratic programmingsolving is overspeed based on the obtained control data of each of thejoints of the robotic arm; instructions for determining the obtainedcontrol data of the joint of the robotic arm as not meeting therestriction condition, in response to the quadratic programming solvingbeing overspeed; instructions for determining whether the obtainedcontrol data of the joint of the robotic arm exceeds a preset jointlimit, in response to the quadratic programming solving being notoverspeed; instructions for determining the obtained control data of thejoint of the robotic arm as not meeting the restriction condition, inresponse to exceeding the joint limit; instructions for determining theobtained control data of the joint of the robotic arm as meeting therestriction condition, in response to not exceeding the preset jointlimit; instructions for stopping transmitting the obtained control dataof the joint of the robotic arm to the motion controller of the robot,in response to not meeting the restriction condition; instructions forcontinuing transmitting the obtained control data of the joint of therobotic arm to the motion controller of the robot, in response tomeeting the restriction condition; and instructions for controlling, bya motion controller of the robot, the robotic arm of the robot to moveaccording to the obtained control data of each of the joints of therobot by transmitting the obtained control data of the joint to themotion controller.
 12. The robot of claim 11, determining whether thequadratic programming solving is overspeed based on the control data ofeach of the joints of the robotic arm comprises: calculating a Jacobianmatrix corresponding to the control data of each of the joints of therobotic arm; calculating a condition number based on the Jacobianmatrix; determining the quadratic programming solving as beingoverspeed, in response to the condition number being larger than apreset condition number threshold; and determining the quadraticprogramming solving as being not overspeed, in response to the conditionnumber being smaller than or equal to the condition number threshold.13. The robot of claim 11, wherein after stopping transmitting thecontrol data of each of the joints of the robotic arm to the motioncontroller of the robot, the method further comprises: in a subsequentcontrol cycle of the robot, continuing to obtain the control data ofeach of the joints of the robotic arm of the robot by performing thequadratic programming solving on the second motion data and the state ofthe joint; determining whether the control data of each of the joints ofthe robotic arm meets the restriction condition; determining whether thecontrol data of each of the joints of the robotic arm meets a presettransition ending condition, in response to meeting the restrictioncondition; obtaining smoothed control data of each of the joints of therobotic arm by smoothing the control data of the joint to transmit tothe motion controller of the robot, in response to not meeting thetransition ending condition; and continuing to transmit the control dataof each of the joints of the robotic arm to the motion controller of therobot, in response to meeting the transition ending condition.
 14. Therobot of claim 13, wherein determining whether the control data of eachof the joints of the robotic arm meets the preset transition endingcondition comprises: calculating a data error between the control dataof each of the joints of the robotic arm and the state of the joint;determining whether the data error is smaller than a preset errorthreshold; determining the control data of each of the joints of therobotic arm as meeting the transition ending condition, in response tobeing smaller than the error threshold; and determining the control dataof each of the joints of the robotic arm as not meeting the transitionending condition, in response to being larger than or equal to the errorthreshold.
 15. The robot of claim 13, wherein obtaining the smoothedcontrol data of each of the joints of the robotic arm by smoothing thecontrol data of the joint comprises: obtaining the smoothed control dataof each of the joints of the robotic arm by smoothing the control dataof the join using a proportional-derivative controller.